#pragma once

#include <vsg/all.h>

struct VsgManagerData;

class VsgManager
{
public:
	VsgManager() {};

	void init();
	void run();
private:
	void update(std::chrono::nanoseconds delt);

	void initWindow();
	void initCamera();
	void initViewer();
	void initScene();
	void initData();

private:

	vsg::ref_ptr<vsg::Window> m_window;
	vsg::ref_ptr<vsg::Group> m_scene;
	vsg::ref_ptr<vsg::Camera> m_camera;
	vsg::ref_ptr<vsg::Viewer> m_viewer;

	VsgManagerData* m_data;
};

